Skip to content

Conversation

@andreaslillebo
Copy link

Thanks again for all the awesome work on the Herb. It is amazing 🤩

Previously Herb could only be installed if there was a precompiled gem available.

This changes this by vendoring Prism on compile time.

Allows workaround for issues like #874

Previously Herb could only be installed if there was a precompiled gem available.

This changes this by vendoring Prism on compile time.
@marcoroth
Copy link
Owner

Hey @andreaslillebo, Prism already gets vendored with the gem that comes from RubyGems.org (see #515). We vendor Prism before we publish the gem using the vendor:prism rake task, defined in Rakefile.

Thank you for the pull request! 🙏🏼

@marcoroth marcoroth closed this Jan 18, 2026
marcoroth added a commit that referenced this pull request Jan 18, 2026
This pull request improves how the `herb` gem loads its native
extension, particularly for users running preview/development versions
of Ruby.

1. Detect preview Ruby versions (`RUBY_PATCHLEVEL == -1`) and skip
precompiled extensions to avoid ABI incompatibility errors like
`undefined symbol: ruby_abi_version`

2. Add helpful error messages when the native extension fails to load,
including:
    * What paths were tried
* Common causes (preview Ruby, missing compilation, missing build tools)
    * How to reinstall with source compilation
    * Platform-specific instructions for installing C compilers

3. Remove unnecessary `rake templates` call from `extconf.rb` since
generated files are already bundled in the gem

Resolves #880
Resolves #951
Resolves #1046
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants